package com.generalbackend.role.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.generalbackend.role.model.entity.RestApi;
import com.generalbackend.role.model.query.RestApiQuery;

import java.util.List;

/**
* ClassName: RestApiQueryOption
* @Description 业务层
* @author tim.xie
* @date 2021-12-14 13:19
*/


public interface IRestApiService extends IService<RestApi> {

    /**
     * 添加
     * @param restApi
     * @return
     */
    Boolean insert(RestApi restApi);

    /**
     * 修改
     * @param restApi
     * @return
     */
    Boolean update(RestApi restApi);

     /**
     * 根据id删除
     * @param id
     * @return
     */
    Boolean deleteById(String id);

    /**
     * 根据id得到对象
     * @param id
     * @return
     */
    RestApi  selectById(String id);

    /**
    * 根据条件查询集合列表
    * @param restApiQueryOption
    * @return
    */
    JSONObject list(RestApiQuery restApiQueryOption);

    /**
     * 获取免登api
     * @return
     */
    List<RestApi> getCommonApi();

    /**
     * 获取开放api
     * @return
     */
    List<RestApi> getAllRoleApi();

    /**
     * 通过api查询
     * @param api
     * @return
     */
    RestApi selectByApi(String api);

    /**
     * 通过菜单ID集合查询所有API
     * @param menuList
     * @return
     */
    List<RestApi> selectByMenuList(List<String> menuList);


}
